package com.deyili.lease.web.admin.custom.converter;

import com.deyili.lease.model.enums.ItemType;
import org.springframework.core.convert.converter.Converter;
import org.springframework.stereotype.Component;
/*
* 自定义类型转换器：
* string类型转成自定义枚举类型（ItemType）
* 但是这个自定义类型转换器不通用，只能转换成这种类型的枚举，所以需要converterFactory
* */
/**/
@Component
public class StringToItemTypeConverter implements Converter<String, ItemType> {
    /*
    *参数：souce(源类型的数据)
    * 返回值：ItemType（目标类型的数据）
    *
    * */
    @Override
    public ItemType convert(String source) {
//循环遍历枚举ItemType.values中的各种类型，每一个枚举临时存放在value中（是ItemType类型）,拿出来
//        和源类型的数据进行比较
        for (ItemType value : ItemType.values()) {
            if (value.getCode().equals(Integer.valueOf(source))) {
                return value;
            }
//            if (source.equals(String.valueOf(value.getCode())))
        }
        throw new IllegalArgumentException("code非法");
    }
}